package cn.com.b2office.dao;

import java.util.List;
import java.util.Map;

import cn.com.b2office.domain.DeliveryFee;
import cn.com.b2office.domain.DeliveryMode;
import cn.com.b2office.domain.DeliveryTime;

public interface DeliveryDao {

	// Delivery Fee

	DeliveryFee getDeliveryFee(int id);

	int createDeliveryFee(DeliveryFee fee);

	void updateDeliveryFee(DeliveryFee fee);

	void deleteDeliveryFee(DeliveryFee fee);

	List<DeliveryFee> findAllDeliveryFee();

	DeliveryFee findDeliveryFee(int deliveryMode, double money);

	Map<Integer, DeliveryFee> findDeliveryFee(double money);

	// Delivery Mode
	DeliveryMode getDeliveryMode(int modeId);

	int createDeliveryMode(DeliveryMode deliveryMode);

	void updateDeliveryMode(DeliveryMode deliveryMode);

	void deleteDeliveryMode(DeliveryMode deliveryMode);

	List<DeliveryMode> findAllDeliveryMode();

	DeliveryMode getDefaultDeliveryMode();

	// Delivery Time
	DeliveryTime getDeliveryTime(int id);

	int createDeliveryTime(DeliveryTime deliveryTime);

	void updateDeliveryTime(DeliveryTime deliveryTime);

	void deleteDeliveryTime(DeliveryTime deliveryTime);

	List<DeliveryTime> findAllDeliveryTime();
}
